home *** CD-ROM | disk | FTP | other *** search
- //JB - przygotowanie skryptu finalnego - proszΩ o logowanie ew. zmian
-
- uint action_return = 0x1c; /* enter on main keyboard */
-
- import void LevelDecreaseLifesBy( uint ) from "Level";
-
- geCRenderableObject* g_pThis = 0;
- geCBaseNode* g_pNode = 0;
-
- uint COLLIZION_EMPTY = 0;
- uint COLLIZION_DEFAULT = 1;
- uint g_pCollided = 0;
- uint g_bVisible = 0;
-
- bool g_bUnderground = false;
- bool g_bDuringUndergrounding = false;
-
- float g_fUnderDistance = 0.0f;
- CVector3 g_vecLastCheckPoint;
- int ActiveSocket = 0;
-
- //Wykrywanie i obs│uga kolizji
- float fTimeAfterCollision = 0.0f;
- bool bIsFirstTimeCollided = true;
-
- //Zmienne do strzelania
- geCBaseNode* bullet = 0;
-
- //Zmienne do gaszenia £wiat│a
- CSceneInterface* pScene = 0;
- CLightInterface *pLight = 0;
-
-
- void geCBaseNode_ProcessMessage( geMessage* pMsg )
- {
- if( g_pCollided == COLLIZION_EMPTY && pMsg->MessageID == 100 ) //colizja
- {
- g_pCollided = COLLIZION_DEFAULT;
- //Wykrywanie sprawcy kolizji
- geCBaseNode* pEnemyNode = GameCore->GetRootNode()->GetNodeByID( pMsg->SenderID );
- geCRenderableObject* pEnemy = GetRenderableObject(pEnemyNode);
- //Zmieniszamy liczbΩ ┐yµ
- LevelDecreaseLifesBy( 1 );
- }
- }
-
- void geCRenderableObject_Update( geSUpdateArgument* a_pArg )
- {
- if( g_pNode->IsFistTimeUpdate() == TRUE )
- {
- g_pCollided = COLLIZION_EMPTY;
- return;
- }
-
- if( g_pCollided != COLLIZION_EMPTY && bIsFirstTimeCollided )
- {
- bIsFirstTimeCollided = false;
- GetPlayerObject(g_pNode)->SetPosition( g_vecLastCheckPoint );
- g_pThis->StopMusiqueByName( String("collide") );
- g_pThis->PlayMusiqueByName( String("collide") );
- fTimeAfterCollision = a_pArg->m_fCurrentTime;
- g_pThis->GetMesh(0)->SetVisibility( g_bVisible, 0, 0 );
- if( g_bVisible == 1 )
- g_bVisible = 0;
- else
- g_bVisible = 1;
- }
- else if( g_pCollided != COLLIZION_EMPTY && !bIsFirstTimeCollided )
- { //mamy kolizje
- g_pThis->GetMesh(0)->SetVisibility( g_bVisible, 0, 0 );
- if( g_bVisible == 1 )
- g_bVisible = 0;
- else
- g_bVisible = 1;
- if( a_pArg->m_fCurrentTime - fTimeAfterCollision > 3.0f )
- {
- bIsFirstTimeCollided = true;
- g_pCollided = COLLIZION_EMPTY;
- g_bVisible = 1;
- g_pThis->GetMesh(0)->SetVisibility( g_bVisible, 1, 1 );
- g_pThis->StopMusiqueByName( String("collide") );
- }
- }
-
- if( GameCore->CheckForKey(action_return) )
- {
- GameCore->SendMessage( String("jump"), g_pNode->GetID(), g_pNode->GetID(), 8, 0 );
- }
- }
-
-
- void main( geCBaseNode* a_pNode )
- {
- g_pNode = a_pNode;
- g_pThis = GetRenderableObject( a_pNode );
- }
-